Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI Test #6224

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
Draft

CI Test #6224

wants to merge 11 commits into from

Conversation

mikebeaton
Copy link
Contributor

No description provided.

In Python 3.12 invalid escape sequences in strings moved from
DeprecationWarning to SyntaxWarning
(ref https://docs.python.org/3/whatsnew/changelog.html#python-3-12-0-final
and search for gh-98401). In a future Python version this will become
SyntaxError.

Multiple instances of these SyntaxWarnings are currently printed when
running the BaseTools tests using Python 3.12 (though without actually
failing the affected tests).

This commit updates all lines which were causing this type of warning.

Typical examples which needed fixing are:

- "BaseTools\Source\Python" representing a path: "\S" and "\P" are invalid
escape sequences, therefore left unchanged, therefore the test works
(with a warning in Python 3.12). r"BaseTools\Source\Python" represents
the same string, but with escapes turned off completely thus no warning.

- Where '\t\s' is used as a regex pattern, then chr(9) + '\\s' is sent
to the regex parser (with a warning in Python 3.12) since '\s' is not a
valid Python escape sequence. This works correctly, though arguably for
the wrong reasons. r'\t\s' sends the same as '\\t\\s', as originally
intended and with no warning.

(Note that ' and " are not fundamentally different in Python.)

Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
This is part of a sequence of commits to restore build on the XCODE5
toolchain.

The definition is required on other toolchains, but on XCODE5 results
in a macro redefined error (from the existing value 255) from
/usr/include/stdint.h.

Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
Addresses https://bugzilla.tianocore.org/show_bug.cgi?id=3704

Without these changes, we get the error:

  error: variable '__DebugCodeLocal' set but not used

from the DebugLib.h DEBUG_CODE_BEGIN()/END() macros on XCODE5.

Similarly, in NOOPT builds only, we get:

  error: variable '__PerformanceCodeLocal' set but not used

from the PerformanceLib.h PERF_CODE_BEGIN()/END() macros on XCODE5.

The modified versions works on all toolchains.

The previous definitions of DEBUG_CODE_BEGIN() and DEBUG_CODE_END() use
the local variable __DebugCodeLocal as an attempt to track parity: if
DEBUG_CODE_END() is used without a preceding DEBUG_CODE_BEGIN(),
__DebugCodeLocal will not have been declared and a compilation error
will be issued. These mutations of the variable are not used to track
nesting or similar. As the value of this variable is never actually
used, recent Clang versions issue an "unused-but-set-variable" warning
for it.

To solve this, redefine __DebugCodeLocal as a BOOLEAN that is always
FALSE and use it in a do-while loop condition as done explicitly in
many places. As in the previous solution, DEBUG_CODE_END() cannot be
used without DEBUG_CODE_BEGIN(), as __DebugCodeLocal will be not have
been defined.

Also make the matching change in the PERF_CODE_BEGIN()/END() macros.

Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
Signed-off-by: Mikhail Krichanov <krichanov@ispras.ru>
Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
Without this change we get:

  error: equality comparison with extraneous parentheses

when building on XCODE5.

Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
REF: https://edk2.groups.io/g/devel/message/88179

Without this change, we get:

  fatal error: 'Availability.h' file not found

when building on XCODE5.

The workaround uses a define present in openssl/include/crypto/rand.h
which modifies openssl behaviour on Apple only, causing the library
to default to a non-system specific source of entropy in syscall_random()
in rand_unix.c.

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
Without this change we get:

  error: variable 'Index' set but not used

when building on XCODE5.

Signed-off-by: Savva Mitrofanov <savvamtr@gmail.com>
Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
Without this change we get:

  error: equality comparison with extraneous parentheses

when building with -D NETWORK_IP6_ENABLE on XCODE5.

Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
@mikebeaton mikebeaton closed this Sep 21, 2024
@mikebeaton mikebeaton reopened this Sep 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant